The standard let form binds
variables whose names are known at compile-time. The
progv form provides an easy way to bind variables
whose names are computed at run-time.
This form establishes
let-style variable bindings on a set of variables computed at run-time. The expressions symbols and values are evaluated, and must return lists of symbols and values, respectively. The symbols are bound to the corresponding values for the duration of the body forms. If values is shorter than symbols, the last few symbols are made unbound (as if bymakunbound) inside the body. If symbols is shorter than values, the excess values are ignored.